Oracle增删改查,事务与序列

您所在的位置:网站首页 oracle 查字符集 Oracle增删改查,事务与序列

Oracle增删改查,事务与序列

#Oracle增删改查,事务与序列| 来源: 网络整理| 查看: 265

Oracle增删改查,事务与序列 前言 1、INSERT(增加) 2、 UPDATE(修改) 3、DELETE(删除) 4、事务提交与回滚 5、序列(给主键赋值)

1、INSERT(增加) 标准写法: INSERT INTO 表名[(列名 1,列名 2,…)]VALUES(值 1,值 2,…) 简单写法(不建议) INSERT INTO 表名 VALUES(值 1,值 2,…)

注意:使用简单的写法必须按照表中的字段的顺序来插入值,而且如果有为空的字段使用 null

insert into person values(2,'李四',1,null,'北京育新'); commit;

2、 UPDATE(修改) 局部修改:UPDATE 表名 SET 列名 1=值 1,列名 2=值 2,…WHERE 修改条件;

update person set pname = '小马' where pid = 1; commit;

注意:where条件的添加

3、DELETE(删除) 语法 : DELETE FROM 表名 WHERE 删除条件;

----三个删除 --删除表中全部记录 delete from person;--根据索引删除-->慢 --删除表结构 drop table person; --先删除表,再次创建表。效果等同于删除表中全部记录。 --在数据量大的情况下,尤其在表中带有索引的情况下,该操作效率高。 --索引可以提供查询效率,但是会影响增删改效率。 truncate table person;-->快,效率高

注意:在删除语句中如果不指定删除条件的话就会删除所有的数据

4、事务提交与回滚 我们必须做提交事务才能让数据真正的插入到数据库中,事务提交后则不可以再回滚。 在同样在执行完数据库变更的操作后还可以把事务进行回滚,这样就不会真正插入到数据库。

--commit代表一个事务的结束    --添加它后,会将内存的表数据提交到磁盘上, 提交:commit 回滚:rollback

5、序列(给主键赋值) 在很多数据库中都存在一个自动增长的列, 如果现在要想在 oracle 中完成自动增长的功能, 则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。

语法:CREATE SEQUENCE 序列名 [INCREMENT BY n] #每次增加几 [START WITH n]  #从几开始 [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] #最大最小值 [{CYCLE|NOCYCLE}] #循环 [{CACHE n|NOCACHE}]; #提前缓存所需序列,提高效率

--范例:创建一个 seqpersonid 的序列,验证自动增长的操作 create sequence s_person; --序列创建完成之后,所有的自动增长应该由用户自己处理,所以在序列中提供了以下的两种操作: --nextval :取得序列的下一个内容 --currval :取得序列的当前内容 select seqpersonid.nextval from dual; select seqpersonid.currval from dual; ----添加一条记录 insert into person (pid, pname) values (s_person.nextval, '小明'); commit;

----序列不真的属于任何一张表,但是可以逻辑和表做绑定。 ----序列:默认从1开始,依次递增,主要用来给主键赋值使用。 ----dual:虚表,只是为了补全语法,没有任何意义。

在实际项目中每一张表会配一个序列,但是表和序列是没有必然的联系的, 一个序列被哪一张表使用都可以,但是我们一般都是一张表用一个序列。 序列的管理一般使用工具来管理。  



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3